Créer des variables et programmer des formules de calcul
Objectif
Maestro* permet d’entrer deux types de formules de calcul dans le champ Quantité :
- Simple - qui n’utilise que des valeurs numériques.
- Complexe - qui utilise des valeurs numériques et des variables.
Les informations contenues dans ce document sont également applicables dans les options suivantes :
- Soumissions - Mode avancé
- Gestion des assemblages
- Gestion des gabarits (de soumissions)
|
Attention! Cette procédure s’applique uniquement pour les soumissions de type construction. |
PRÉREQUIS
Sommaire
Des formules de calcul peuvent être définies pour les Soumissions, Gabarits de soumission et Assemblages, dans les endroits suivants :
- Onglet Variables (colonne Formule)
- Onglet Détail (colonne Quantité)
Une formule peut utiliser des chiffres et/ou des variables et/ou des opérateurs (voir le tableau des formules).
Étapes
Onglet Variables
Cet onglet permet de :
- Créer des variables utilisables à divers endroits dans l’onglet Détail;
- D’entrer les données du relevé des quantités fait sur les plans afin de rendre ses données disponibles dans l’onglet Détail;
- Faciliter les changements de quantités utilisées à plusieurs endroits dans l’onglet Détail;
- Faire le pont entre l’onglet Feuille de calcul et l’onglet Détail en permettant de créer des variables dynamiques qui utilisent les valeurs de l’onglet Feuille de calcul pour les rendre disponibles dans l’onglet Détail.
Il est possible d’entrer des formules simples ou complexes dans cet onglet.
Créer de nouvelles variables
- À partir de la fenêtre principale de maestro*, dans le menu de gauche, cliquer sur le module Projets, puis Estimations/Soumissions.
- Dans la section de droite, dans le groupe Fonctions, cliquer sur Soumissions-Mode avancé. La fenêtre de Sélection des soumissions apparaît.
- Sélectionner une soumission et cliquer sur Accepter.
- Cliquer sur l’onglet Variables.
- Compléter les informations en fonction du tableau ci-dessous.
Champs
Inscrire / Sélectionner
Nom
Nom de la nouvelle variable
Valeur
Valeur de cette variable
NOTE : Entrer une valeur ou une formule.
Formule
Formule de calcul de la variable
Exemple : 40*25 dont le résultat est 1000. Maestro* inscrira ce résultat dans la colonne Valeur.
NOTE : La formule d’une variable peut utiliser la valeur d’une autre variable. Par exemple, 50*VAR1 donne le résultat de 100 si VAR1 a une Valeur de 2.
Unité
L’unité de mesure de la variable
Description
Description de la variable afin de préciser son utilité
- Cliquer sur Enregistrer.
Les variables ainsi créées seront maintenant disponibles dans l’onglet Détail selon la procédure de la section Onglet Détail du présent document.
Créer des variables utilisant les valeurs des cellules de l’onglet « Feuille de calcul »
- À partir de la fenêtre principale de maestro*, dans le menu de gauche, cliquer sur le module Projets, puis Estimations/Soumissions.
- Dans la section de droite, dans le groupe Fonctions, cliquer sur Soumissions-Mode avancé. La fenêtre de Sélection des soumissions apparaît.
- Sélectionner une soumission et cliquer sur Accepter ou utiliser un double-clic.
- Cliquer sur l’onglet Variables.
- Compléter les informations en fonction du tableau ci-dessous.
Champs
Inscrire / Sélectionner
Nom
Nom de la nouvelle variable
Feuille de calcul
La valeur de la cellule de l’onglet Feuille de calcul. Maestro* affichera la valeur de cette cellule dans la colonne Valeur.
NOTE : Exemple 1. Si la valeur « 1:g10 » est entrée dans la colonne Feuille de calcul, le système ira chercher la valeur de la cellule « g10 » du premier onglet de l’onglet Feuille de calcul.
Exemple 2. Si la valeur « Béton:g10 » est entrée dans la colonne Feuille de calcul, le système ira chercher la valeur de la cellule « g10 » de l’onglet « Béton » dans l’onglet Feuille de calcul.
Unité
L’unité de mesure de la variable
Description
Description de la variable afin de préciser son utilité
- Cliquer sur Enregistrer.
Les variables ainsi créées sont maintenant disponibles dans l’onglet Détail selon la procédure de la section Onglet Détail du présent document.
Onglet Détail
Dans cet onglet, il est possible de définir des formules de calcul pour la quantité des matériaux, ressources, sous-traitants et/ou assemblages.
|
Il est utile de programmer certaines variables et/ou formules dans les gabarits de soumission pour des éléments qui reviennent d’une soumission à l’autre. Exemple : durée du projet en mois, durée du projet en semaine, cautionnement de soumission, cautionnement d’entretien, permis, roulotte de chantier, nombre d’heures travaillées par homme par semaine, facteur de risque, quantités de matériaux à partir desquelles certaines quantité de main-d’œuvre sont calculées, etc. |
- À partir de la fenêtre principale de maestro*, dans le menu de gauche, cliquer sur le module Projets, puis Estimations/Soumissions.
- Dans la section de droite, dans le groupe Fonctions, cliquer sur Soumissions-Mode avancé. La fenêtre de Sélection des soumissions apparaît.
- Sélectionner une soumission et cliquer sur Accepter.
- Cliquer sur l’onglet Détail.
- Double-cliquer dans la cellule appropriée de la colonne Quantité. La fenêtre Formule apparaît.
- Les variables suivantes sont disponibles par défaut :
Formules
Description
Qté Module
Prend la valeur de la colonne Quantité de l’assemblage.
NOTE : Cette variable est applicable uniquement pour les éléments des assemblages.
<TOTAL_COUTANT>
Prend la valeur inscrite dans la colonne Coûtant de la division Total.
<TOTAL_VENDANT>
Prend la valeur inscrite dans la colonne Vendant de la division Total.
<COUTANT_ACTIVITE>
Prend la valeur inscrite dans la colonne Coûtant de l’activité courante.
<COUTANT_PHASE>
Prend la valeur inscrite dans la colonne Coûtant de la phase courante.
<COUTANT_SECTION>
Prend la valeur inscrite dans la colonne Coûtant de la section courante.
<COUTANT_DIVISION>
Prend la valeur inscrite dans la colonne Coûtant de la division courante.
<QTE_ACTIVITE>
Prend la valeur de la colonne Quantité de l’activité courante.
<QTE_PHASE>
Prend la valeur de la colonne Quantité de la phase courante.
<QTE_SECTION>
Prend la valeur de la colonne Quantité de la section courante.
<QTE_DIVISION>
Prend la valeur de la colonne Quantité de la division courante.
- Entrer la formule dans l’encadré blanc en utilisant des chiffres et/ou des variables ainsi que les opérateurs habituels (addition, soustraction, division, multiplication, etc.).
L’option Désactivée, si cochée, permet de désactiver (sans effacer) une formule afin d’entrer un nombre manuellement dans la colonne Quantité de l’onglet Détail.
- Cliquer sur Accepter.
Pour sélectionner une formule, il est possible de double-cliquer sur la variable située à droite de l’écran. Elle sera automatiquement reportée dans l’encadré blanc.
Une formule exponentielle peut être entrée à l’aide du signe ^. Par exemple, si la division courante affiche une valeur de 2, la formule <QTE_DIVISION> ^2 donnera le résultat de 4.
Se référer au tableau en annexe pour connaître les fonctions et opérateurs possibles dans les formules.
- Cliquer sur Enregistrer.
Annexe
Tableau des formules
Le tableau suivant présente les fonctions et opérateurs que l’usager peut utiliser dans les formules de calcul des soumissions.
Formules |
Permet de calculer une valeur à partir de fonctions supportées par le langage VBScript. Les opérateurs disponibles sont :
NOTE : Il n’est pas nécessaire d’écrire les opérateurs en majuscule dans les formules.
Expressions mathématiques :
Fonctions : NOTE : Les fonctions IIF, UNIT, ROUND, MAXservent dans les onglets Variables et Détail des soumissions, des gabarits de soumission et dans les assemblages. La fonction MAX_PP est utilisée uniquement dans l’onglet Variables des assemblages. La fonction SUMEX est utilisée uniquement dans l’onglet Détail des mêmes trois endroits. IIF(Expr, partie vraie, partie fausse) : Affiche ‘partie vraie’ ou ‘partie fausse’ selon le résultat de ‘Expr’. UNIT(nbr OU expression,nbr entier) : Affiche un multiple de ‘nbr entier’ en fonction de ‘nbr’ OU le résultat de l’expression arrondi à l’unité supérieure. ROUND(expr,[nb décimales requises]) : renvoie l'arrondi à l’entier ou la décimale le plus près selon le cas. Exemple 1 : ROUND(5/3,1) = 1.7 = arrondi à la 1ère décimale supérieure. Exemple 2 : ROUND(11/4,2) = 2.75 = arrondi à la 2e décimale supérieure. Exemple 3 : ROUND(13/5,0) = ROUND(2.6) = 3 = arrondi à l’unité la plus près. Exemple 4 : ROUND(13/6,0) = ROUND(2.166667) = 2 = arrondi à l’unité la plus près. MAX(VAR1,VAR2) : Retourne la plus grande valeur entre VAR1 et VAR2. MAX(VAR1,MAX(VAR2,VAR3)) : Retourne la plus grande valeur entre VAR1, VAR2 et VAR3. MAX(VAR1,MAX(VAR2,MAX(VAR3,VAR4))) : Retourne la plus grande valeur entre VAR1, VAR2, VAR3 et VAR4. MAX(VAR1,MAX(VAR2,MAX(VAR3,MAX(VAR4,VAR5)))) : Retourne la plus grande valeur entre VAR1, VAR2, VAR3, VAR4 et VAR5. Et ainsi de suite s’il y a plus de variables à tenir en compte pour obtenir la plus grande valeur. MAX_PP : Cette fonction, contrairement à la fonction MAX ne prend qu'un seul paramètre, soit le nom de variable du paramètre produit dans les Champs supplémentaires de l’item dans la Gestion du catalogue. MAX_PP(VAR_PJ) : Celle-ci va retourner la valeur maximum de PJ de tous les items choisis pour la variable VAR. MAX_PP : en ne lui passant que le nom du paramètre produit (ex: PJ) pour avoir le maximum de PJ peu importe la variable auquel l'item est rattaché. NOTE : Le « nom du paramètre produit » est en fait le « nom du Champ supplémentaire » créé pour l’item dans la Gestion du catalogue. SUMEX : Calcul d’une quantité à partir d'une formule 'SUMEX'. SUMEX{<variable à additionner>,<division>,<section>,<phase>,<activité>, <assemblage>,<type d'item>,<filtre>}
NOTE : UP signifie « Unit Price » et est donc liée à la colonne prix unitaire; QTE est la variable liée à la colonne Quantité; COSTAMOUNT est la variable liée à la colonne du Coûtant; SELLAMOUNT est la variable liée à la colonne du Vendant. |
Voici quelques exemples :
|
Les formules des exemples qui suivent peuvent être modifiées pour être appliquées autant dans des soumissions (ou gabarits de soumission) que dans des assemblages selon les besoins. |
EXEMPLE 1
IIF(VAR1<VAR2,VAR3,VAR2) : affichera la valeur de la variable VAR3 si VAR1 est plus petit que VAR2, sinon affichera la valeur de VAR4.
EXEMPLE 2
Vous désirez utiliser la durée du projet en mois et en semaines afin de calculer la quantité pour la roulotte de chantier et pour le signaleur.
Et étant donné que ces données sont aussi utilisées pour le calcul de d’autres éléments de la soumission, il est préférable de créer des variables dans l’onglet Variables. Ainsi, si la durée du projet change en cours de soumission, il sera très facile d’ajuster tous les calculs par une modification à un seul endroit.
Formule : UNIT(NBR ou EXPRESSION,NBR ENTIER)
UNIT(CALCUL_DUREE,1) : affichera, dans la variable DUREE_SEM, la valeur de la variable CALCUL_DUREE arrondie à l’unité supérieure.
OU, plus directement :
UNIT(DUREE_MOIS*4.33,1) : affichera, dans la variable DUREE_SEM, le résultat de l’expression arrondi à l’unité supérieure.
Dans la soumission :
Résultat dans la soumission :
EXEMPLE 3
Formule : SUMEX{<variable à additionner>,<division>,<section>,<phase>,<activité>, <assemblage>,<type d'item>,<filtre>}
Le temps de main-d’œuvre du journalier qui vibre et lisse le béton dépend de la quantité de béton coulé en place. Le ratio est de 1 heure par mètre cube. L’objectif est donc d’automatiser le calcul afin d’économiser du temps.
SUMEX{QTE,CURRENT,CURRENT,CURRENT,CURRENT,,M,} ou SUMEX{QTE,,,,,,M,} : affichera, dans la colonne Quantité de l’élément courant, la somme des valeurs de la colonne Quantité de tous les autres éléments, du niveau courant, dont la colonne Type indique que c’est un matériau et dont la valeur de la colonne Groupe est M.
Résultat :
EXEMPLE 4
Formule : SUMEX{<variable à additionner>,<division>,<section>,<phase>,<activité>, <assemblage>,<type d'item>,<filtre>}
Le calcul du cautionnement d’exécution est toujours le même alors vous désirez que ce calcul soit automatisé. Le cautionnement est de 7.50$/1000. Le calcul est effectué à partir du montant vendant de la soumission.
|
Cet exemple peut aussi s’appliqué au calcul de la quantité de l’assurance, du transport, et de tout autre élément qui dépend de la valeur d’un autre élément de la soumission. |
SUMEX{SELLAMOUNT,ALL,ALL,ALL,ALL,ALL,MRS,}/1000 ou SUMEX{SELLAMOUNT,ALL,,,,,MRS,} : affichera, dans la colonne Quantité de l’élément courant, la valeur résultant de la somme des montants vendant de tous les items, ressources et sous-traitants de la soumission.
Résultat :
EXEMPLE 5
Formule : SUMEX{<variable à additionner>,<division>,<section>,<phase>,<activité>, <assemblage>,<type d'item>,<filtre>}
Vous êtes un sous-traitant en revêtements divers (plancher, murs et plafonds); c’est-à-dire que vous fabriquez et installez vous-même les revêtements dans les bâtiments. Vous devez donc calculer le transport de vos matériaux de votre usine au chantier. Le calcul du transport varie d’un matériau à l’autre. Vous décidez donc de créer un gabarit de soumission qui utilise une structure de soumission dont le premier niveau est utilisé pour les matériaux.
Au fil du temps, votre expérience vous a appris que le transport du bois vous coûte 15% de plus que le coûtant du matériel, le transport de la céramique vous coûte 1.25 fois plus que le matériel même, et le transport du tapis vous coûte 2 fois plus cher que le coût du matériel même en raison du poids et d’autres facteurs indirects. Dans tous les cas, le coût du transport au km est de 1.20$ aller/retour et la quantité du transport dépend du coûtant total du matériel à transporter.
SUMEX{COSTAMOUNT,,1,,,,M,<GROUPE>=''M''} : affichera, dans la colonne Quantité de l’élément courant, le résultat de la somme des montants coûtant des items de la section 1 dont le Type est « Matériel » et le Groupe est « M ».
Résultat :